package com.ffcs.crmd.tsp.core.util;

/**
 * 
 * 功能说明:配置属性集合类
 *
 * @author ZHONGFUHUA
 * 
 * @Date 2016年5月13日 上午11:53:19
 *
 *
 * 版本号  |   作者   |  修改时间   |   修改内容
 *
 */
public class MixAll {
    
    public static final String TSP_HOME_ENV                                       = "TSP_HOME";
    public static final String TSP_HOME_PROPERTY                                  = "tsp.home.dir";
    
    // 客户端日志配置
    public static final String TSP_CLIENT_PROP_PATH                               = "tsp.properties";
    public static final String TSP_CLIENT_LOGBACK_PAHT                            = "conf/logback_tsp_client.xml";
    public static final String TSP_CLIENT_LOG4J_PAHT                              = "conf/log4j_tsp_client.xml";
    
    // 任务端日志配置
    public static final String TSP_TASK_LOGBACK_PAHT                              = "conf/logback_tsp_task.xml";
    public static final String TSP_TASK_LOG4J_PAHT                                = "conf/log4j_tsp_task.xml";
    
    // 服务端日志和参数配置
    public static final String TSP_SERVER_PROP_PATH                               = "tsp.properties";
    public static final String TSP_SERVER_LOGBACK_PAHT                            = "conf/logback_server.xml";
    public static final String TSP_SERVER_REMOTING_LOGBACK_PAHT                   = "conf/logback_remoting.xml";
    public static final String TSP_SERVER_DEFAULT_LOGBACK_PAHT                    = "conf/logback_default.xml";
    public static final String TSP_SERVER_LOG4J_PAHT                              = "conf/log4j_server.xml";
    public static final String TSP_SERVER_REMOTING_LOG4J_PAHT                     = "conf/log4j_remoting.xml";
    public static final String TSP_SERVER_DEFAULT_LOG4J_PAHT                      = "conf/log4j_default.xml";
    public static final String TSP_SERVER_OPEN_DEFAULT_LOG                        = "open_default_log";
    public static final String TSP_SERVER_JDBC_CONFIG_PREFIX                      = "com.ffcs.crmd.tsp.datasource";
    public static final String TSP_SERVER_NETTY_CONFIG_PREFIX                     = "com.ffcs.crmd.tsp.netty";
    public static final String TSP_SERVER_SCHEDULER_CONFIG_PREFIX                 = "com.ffcs.crmd.tsp.scheduler";
    
    public static final String TSP_TRIGGER_PREFIX                                 = "tg_";                                                            // 触发器trigger前缀
    public static final String TSP_JOB_CLASS                                      = "tsp_job_class";                                                  // 任务实现类路径参数名
    public static final String TSP_JOB_PRIORITY                                   = "tsp_job_priority";                                               // 任务优先级参数名
    
    // 面向Quartz的子任务实现类
    public static final String TSP_JOB                                            = "com.ffcs.crmd.tsp.server.job.TspJob";
    public static final String TSP_STATEFUL_JOB                                   = "com.ffcs.crmd.tsp.server.job.TspStatefulJob";
    public static final String TSP_INTERRUPT_JOB                                  = "com.ffcs.crmd.tsp.server.job.TspInterruptJob";
    
    // 面向Quartz內部的集群配置
    public static final String TSP_QUARTZ_CLUSTER_NAME                            = "org.quartz.scheduler.clusterName";
    public static final String TSP_QUARTZ_INSTANCE_NAME                           = "org.quartz.scheduler.instanceName";
    public static final String TSP_QUARTZ_INSTANCE_ID                             = "org.quartz.scheduler.instanceId";
    
    // 面向Quartz內部的批量获取Trigger配置
    public static final String TSP_QUARTZ_BATCH_TRIGGER_MAX                       = "org.quartz.scheduler.batchTriggerAcquisitionMaxCount";           // 单次获取的trigger数量（等于tsp的子任务概念）
    public static final String TSP_QUARTZ_BATCH_TRIGGER_WINDOW                    = "org.quartz.scheduler.batchTriggerAcquisitionFireAheadTimeWindow";// 单次获取（30s+window）时间内要触发的trigger
    
    // 面向Quartz內部的threadPool配置
    public static final String TSP_QUARTZ_THREAD_POOL_CLASS                       = "org.quartz.threadPool.class";
    public static final String TSP_QUARTZ_THREAD_POOL_COUNT                       = "org.quartz.threadPool.threadCount";
    public static final String TSP_QUARTZ_THREAD_POOL_PRIORITY                    = "org.quartz.threadPool.threadPriority";
    public static final String TSP_QUARTZ_SCHEDULER_THREADNAME                    = "org.quartz.scheduler.threadName";
    
    // 面向Quartz內部的jobStore配置
    public static final String TSP_QUARTZ_JOBSTORE_CLASS                          = "org.quartz.jobStore.class";
    public static final String TSP_QUARTZ_JOBSTORE_CLUSTERED                      = "org.quartz.jobStore.isClustered";
    public static final String TSP_QUARTZ_JOBSTORE_TABLE_PREFIX                   = "org.quartz.jobStore.tablePrefix";
    public static final String TSP_QUARTZ_JOBSTORE_DATA_SOURCE                    = "org.quartz.jobStore.dataSource";
    public static final String TSP_QUARTZ_JOBSTORE_USE_PROPERTIES                 = "org.quartz.jobStore.useProperties";                              //jobMapData是否只存简单的java类型数据
    public static final String TSP_QUARTZ_JOBSTORE_THRESHOLD                      = "org.quartz.jobStore.misfireThreshold";                           //一个子任务本该执行的时间与当前时间的差值大于该属性值，则认为是错过的任务
    public static final String TSP_QUARTZ_JOBSTORE_DREVER_CLASS                   = "org.quartz.jobStore.driverDelegateClass";
    public static final String TSP_QUARTZ_JOBSTORE_TRIGGER_LOCK                   = "org.quartz.jobStore.acquireTriggersWithinLock";
    public static final String TSP_QUARTZ_JOBSTORE_CHECK_INTERVAL                 = "org.quartz.jobStore.clusterCheckinInterval";
    
    public static final String TSP_QUARTZ_PROCESS_JOB                             = "org.quartz.processJob.class";
    
    // 面向Quartz内部的dataSource配置
    public static final String TSP_QUARTZ_DS_CONNECTION_PROVIDER                  = "org.quartz.dataSource.myDS.connectionProvider.class";
    public static final String TSP_QUARTZ_DS_DRIVER                               = "org.quartz.dataSource.myDS.driver";
    public static final String TSP_QUARTZ_DS_URL                                  = "org.quartz.dataSource.myDS.URL";
    public static final String TSP_QUARTZ_DS_USER                                 = "org.quartz.dataSource.myDS.user";
    public static final String TSP_QUARTZ_DS_PASSWORD                             = "org.quartz.dataSource.myDS.password";
    public static final String TSP_QUARTZ_DS_CONNECTION                           = "org.quartz.dataSource.myDS.maxConnections";
    public static final String TSP_QUARTZ_DS_VALIDATION                           = "org.quartz.dataSource.myDS.validationQuery";
    public static final String TSP_QUARTZ_DS_MAX_CACHED_STATEMENTS_PER_CONNECTION = "org.quartz.dataSource.myDS.maxStatementsPerConnection";
    public static final String TSP_QUARTZ_DS_TEST_CONNECTION_ON_CHECKIN           = "org.quartz.dataSource.myDS.testConnectionOnCheckin";
    public static final String TSP_QUARTZ_DS_TEST_CONNECTION_ON_CHECKOUT          = "org.quartz.dataSource.myDS.testConnectionOnCheckout";
    public static final String TSP_QUARTZ_DS_IDLE_CONNECTION_TEST_PERIORD         = "org.quartz.dataSource.myDS.idleConnectionTestPeriod";
    public static final String TSP_QUARTZ_DS_MAX_IDLE_TIME                        = "org.quartz.dataSource.myDS.maxIdleTime";
    
}
